Add a simple color chooser test
authorMatthias Clasen <mclasen@redhat.com>
Sun, 29 Jan 2012 15:43:42 +0000 (10:43 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 14 Feb 2012 21:36:49 +0000 (16:36 -0500)
tests/Makefile.am
tests/testcolorchooser.c [new file with mode: 0644]

index 6c1c1d854efbee281f700efc9d8ff4e51c904eae..828761336fc0d54162c98a46991a94f98edeb887 100644 (file)
@@ -39,6 +39,7 @@ noinst_PROGRAMS =  $(TEST_PROGS)      \
        testcairo                       \
        testcalendar                    \
        testclipboard                   \
+       testcolorchooser                \
        testcombo                       \
        testcombochange                 \
        testcellrenderertext            \
@@ -158,6 +159,7 @@ testbuttons_DEPENDENCIES = $(TEST_DEPS)
 testcairo_DEPENDENCIES = $(TEST_DEPS)
 testcalendar_DEPENDENCIES = $(TEST_DEPS)
 testclipboard_DEPENDENCIES = $(TEST_DEPS)
+testcolorchooser_DEPENDENCIES = $(TEST_DEPS)
 testcombo_DEPENDENCIES = $(TEST_DEPS)
 testcombochange_DEPENDENCIES = $(TEST_DEPS)
 testcellrenderertext_DEPENDENCIES = $(TEST_DEPS)
@@ -252,6 +254,7 @@ testbuttons_LDADD = $(LDADDS)
 testcairo_LDADD = $(LDADDS)
 testcalendar_LDADD = $(LDADDS)
 testclipboard_LDADD = $(LDADDS)
+testcolorchooser_LDADD = $(LDADDS)
 testcombo_LDADD = $(LDADDS)
 testcombochange_LDADD = $(LDADDS)
 testcellrenderertext_LDADD = $(LDADDS)
@@ -519,6 +522,7 @@ testpixbuf_color_SOURCES = testpixbuf-color.c
 
 testpixbuf_save_SOURCES = testpixbuf-save.c
 
+testcolorchooser_SOURCES = testcolorchooser.c
 
 EXTRA_DIST +=                  \
        gradient1.png           \
diff --git a/tests/testcolorchooser.c b/tests/testcolorchooser.c
new file mode 100644 (file)
index 0000000..c84d157
--- /dev/null
@@ -0,0 +1,50 @@
+#include <gtk/gtk.h>
+
+static void
+color_changed (GObject *o, GParamSpec *pspect, gpointer data)
+{
+  GdkRGBA color;
+
+  gtk_color_chooser_get_color (GTK_COLOR_CHOOSER (o), &color);
+  g_print ("color changed: %g %g %g %g\n",
+           color.red, color.green, color.blue, color.alpha);
+}
+
+static void
+dialog_response (GtkDialog *dialog, gint response)
+{
+  GdkRGBA color;
+
+  switch (response)
+    {
+    case GTK_RESPONSE_OK:
+      gtk_color_chooser_get_color (GTK_COLOR_CHOOSER (dialog), &color);
+      g_print ("color accepted: %g %g %g %g\n",
+           color.red, color.green, color.blue, color.alpha);
+      break;
+    default:
+      g_print ("canceled\n");
+      break;
+    }
+
+  gtk_main_quit ();
+}
+
+int
+main (int argc, char *argv[])
+{
+  GtkWidget *dialog;
+
+  gtk_init (NULL, NULL);
+
+  dialog = gtk_color_chooser_dialog_new ("Select a color", NULL);
+  g_signal_connect (dialog, "notify::color", G_CALLBACK (color_changed), NULL);
+  g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), NULL);
+
+  gtk_widget_show_all (dialog);
+
+  gtk_main ();
+
+  return 0;
+}
+